home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- T0 * rT202dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT202written_in(T202 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT202start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT202copy(T202 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT202is_a(T202 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT202start_position(C));
- rT202error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT202make_call_1(T202 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT202make(T202 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT202fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms102/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT202make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT201is_static(T201 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT201arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))+(XrT68static_value(rT201arg1(C)));
- /*IF*/if (((C)->_static_value_mem)==(1)) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT201static_value(T201 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT201fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT201to_runnable_0(T201 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT201error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT201error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT201to_runnable(T201 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT201to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT201error(XrT68start_position(rT201arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT201arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT201clone(C,(T0 *)C);
- /*(IRF3*/(((T201*)R)->_current_type)=(NULL);
- /*)*/R=rT201to_runnable((T201*)R,a1);
- }
- /*FI*/return R;
- }
- void rT201error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT201add_comment(T201 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT201arg1(T201 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT201start_position(T201 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT201use_current(T201 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT201clone(T201 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT201compile_to_c_old(T201 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT201compile_to_c(T201 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT201dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT201to_integer(T201 *C){
- int R=0;
- rT201error(rT201start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT201dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT201written_in(T201 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT201start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT201copy(T201 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT201is_a(T201 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT201start_position(C));
- rT201error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT201make_call_1(T201 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT201make(T201 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT201fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms101/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT201make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT200is_static(T200 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT200arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))+(XrT68static_value(rT200arg1(C)));
- /*IF*/if (((C)->_static_value_mem)==(2)) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT200static_value(T200 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT200fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT200to_runnable_0(T200 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT200error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT200error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT200to_runnable(T200 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT200to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT200error(XrT68start_position(rT200arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT200arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT200clone(C,(T0 *)C);
- /*(IRF3*/(((T200*)R)->_current_type)=(NULL);
- /*)*/R=rT200to_runnable((T200*)R,a1);
- }
- /*FI*/return R;
- }
- void rT200error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT200add_comment(T200 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT200arg1(T200 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT200start_position(T200 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT200use_current(T200 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT200clone(T200 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT200compile_to_c_old(T200 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT200compile_to_c(T200 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT200dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT200to_integer(T200 *C){
- int R=0;
- rT200error(rT200start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT200dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT200written_in(T200 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT200start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT200copy(T200 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT200is_a(T200 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT200start_position(C));
- rT200error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT200make_call_1(T200 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT200make(T200 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT200fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms106/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT200make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT199is_static(T199 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT199arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))+(XrT68static_value(rT199arg1(C)));
- /*IF*/if (((C)->_static_value_mem)==(2)) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT199static_value(T199 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT199fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT199to_runnable_0(T199 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT199error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT199error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT199to_runnable(T199 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT199to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT199error(XrT68start_position(rT199arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT199arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT199clone(C,(T0 *)C);
- /*(IRF3*/(((T199*)R)->_current_type)=(NULL);
- /*)*/R=rT199to_runnable((T199*)R,a1);
- }
- /*FI*/return R;
- }
- void rT199error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT199add_comment(T199 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT199arg1(T199 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT199start_position(T199 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT199use_current(T199 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT199clone(T199 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT199compile_to_c_old(T199 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT199compile_to_c(T199 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT199dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT199to_integer(T199 *C){
- int R=0;
- rT199error(rT199start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT199dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT199written_in(T199 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT199start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT199copy(T199 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT199is_a(T199 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT199start_position(C));
- rT199error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT199make_call_1(T199 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT199make(T199 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT199fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms108/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT199make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT198is_static(T198 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT198arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))+(XrT68static_value(rT198arg1(C)));
- /*IF*/if (((C)->_static_value_mem)==(2)) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT198static_value(T198 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT198fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT198to_runnable_0(T198 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT198error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT198error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT198to_runnable(T198 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT198to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT198error(XrT68start_position(rT198arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT198arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT198clone(C,(T0 *)C);
- /*(IRF3*/(((T198*)R)->_current_type)=(NULL);
- /*)*/R=rT198to_runnable((T198*)R,a1);
- }
- /*FI*/return R;
- }
- void rT198error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT198add_comment(T198 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT198arg1(T198 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT198start_position(T198 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT198use_current(T198 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT198clone(T198 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT198compile_to_c_old(T198 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT198compile_to_c(T198 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT198dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT198to_integer(T198 *C){
- int R=0;
- rT198error(rT198start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT198dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT198written_in(T198 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT198start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT198copy(T198 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT198is_a(T198 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT198start_position(C));
- rT198error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT198make_call_1(T198 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT198make(T198 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT198fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms103/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT198make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT197is_static(T197 *C){
- int R=0;
- /*IF*/if (XrT58is_boolean(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT197arg1(C)))) {
- R=1;
- C->_static_value_mem=(XrT68static_value((C)->_target))+(XrT68static_value(rT197arg1(C)));
- /*IF*/if (((C)->_static_value_mem)==(2)) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT197static_value(T197 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT197fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT197to_runnable_0(T197 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT197error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT197error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT197to_runnable(T197 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT197to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT197error(XrT68start_position(rT197arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT197arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT197clone(C,(T0 *)C);
- /*(IRF3*/(((T197*)R)->_current_type)=(NULL);
- /*)*/R=rT197to_runnable((T197*)R,a1);
- }
- /*FI*/return R;
- }
- void rT197error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT197add_comment(T197 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT197arg1(T197 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT197start_position(T197 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT197use_current(T197 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT197clone(T197 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT197compile_to_c_old(T197 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT197compile_to_c(T197 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT197dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT197to_integer(T197 *C){
- int R=0;
- rT197error(rT197start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT197dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT197written_in(T197 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT197start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT197copy(T197 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT197is_a(T197 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT197start_position(C));
- rT197error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT197make_call_1(T197 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT197make(T197 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT197fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,/*(IRF4*/(T0 *)ms105/*)*/,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT197make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT196is_static(T196 *C){
- int R=0;
- /*IF*/if (XrT58is_integer(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT196arg1(C)))) {
- R=1;
- /*IF*/if ((XrT68static_value((C)->_target))>(XrT68static_value(rT196arg1(C)))) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT196static_value(T196 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT196fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT196to_runnable_0(T196 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT196error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT196error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT196to_runnable(T196 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT196to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT196error(XrT68start_position(rT196arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT196arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT196clone(C,(T0 *)C);
- /*(IRF3*/(((T196*)R)->_current_type)=(NULL);
- /*)*/R=rT196to_runnable((T196*)R,a1);
- }
- /*FI*/return R;
- }
- void rT196error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT196add_comment(T196 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT196arg1(T196 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT196start_position(T196 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT196use_current(T196 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT196clone(T196 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT196compile_to_c_old(T196 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT196compile_to_c(T196 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT196dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT196to_integer(T196 *C){
- int R=0;
- rT196error(rT196start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT196dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT196written_in(T196 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT196start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT196copy(T196 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT196is_a(T196 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT196start_position(C));
- rT196error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT196make_call_1(T196 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT196make(T196 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT196fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms324,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT196make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT195is_static(T195 *C){
- int R=0;
- /*IF*/if (XrT58is_integer(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT195arg1(C)))) {
- R=1;
- /*IF*/if ((XrT68static_value((C)->_target))>=(XrT68static_value(rT195arg1(C)))) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT195static_value(T195 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT195fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT195to_runnable_0(T195 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT195error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT195error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT195to_runnable(T195 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT195to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT195error(XrT68start_position(rT195arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT195arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT195clone(C,(T0 *)C);
- /*(IRF3*/(((T195*)R)->_current_type)=(NULL);
- /*)*/R=rT195to_runnable((T195*)R,a1);
- }
- /*FI*/return R;
- }
- void rT195error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT195add_comment(T195 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT195arg1(T195 *C){
- T0 * R=NULL;
- R=rT170first((T170*)(C)->_arguments);
- return R;
- }
- T0 * rT195start_position(T195 *C){
- T0 * R=NULL;
- R=((T70*)(C)->_feature_name)->_start_position;
- return R;
- }
- int rT195use_current(T195 *C){
- int R=0;
- /*IF*/{/*AT*/R=rT170use_current((T170*)(C)->_arguments);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (XrT68is_current((C)->_target)) {
- R=XrT261use_current((C)->_run_feature);
- }
- else {
- R=XrT68use_current((C)->_target);
- }
- /*FI*/return R;
- }
- T0* rT195clone(T195 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT195compile_to_c_old(T195 *C){
- XrT68compile_to_c_old((C)->_target);
- /*IF*/{/*AT*/rT170compile_to_c_old((T170*)(C)->_arguments);
- }
- /*FI*/}
- void rT195compile_to_c(T195 *C){
- T0* _n=NULL;
- T0 * _dyn_rf=NULL;
- T0 * _tt=NULL;
- T0* _r=NULL;
- _tt=XrT58run_type(XrT68result_type((C)->_target));
- _n=XrT67to_string(XrT261name((C)->_run_feature));
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,_n)) {
- rT40put_is_expanded_type((T40*)oRBC27cpp,_tt);
- }
- else if (((XrT58is_expanded(_tt))||(XrT68is_current((C)->_target)))||(XrT68is_manifest_string((C)->_target))) {
- rT40push_direct((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- _r=((T260*)XrT58run_class(_tt))->_running;
- /*IF*/if (!(_r)) {
- rT40push_void((T40*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
- XrT261mapping_c((C)->_run_feature);
- rT40pop((T40*)oRBC27cpp);
- }
- else if ((rT263count((T263*)_r))==(1)) {
- _dyn_rf=rT195dynamic(rT263first((T263*)_r),(C)->_run_feature);
- rT40push_check((T40*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- }
- else {
- rT40use_switch((T40*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments);
- }
- /*FI*/}
- /*FI*/}
- int rT195to_integer(T195 *C){
- int R=0;
- rT195error(rT195start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT195dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- T0 * rT195written_in(T195 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT195start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT195copy(T195 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT195is_a(T195 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT195start_position(C));
- rT195error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT195make_call_1(T195 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- void rT195make(T195 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * _eal=NULL;
- /*IF*/if ((!(a1))||(!(a3))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a2);
- rT195fatal_error((T0 *)ms305);
- }
- /*FI*/{T70 *n=((T70*)new(70));
- rT70make(n,(T0 *)ms320,a2);
- C->_feature_name=(T0 *)n;}
- {T170 *n=((T170*)new(170));
- /*(IRF3*/((n)->_list)=(ma(81,0,1,a3));
- /*)*/_eal=(T0 *)n;}
- rT195make_call_1(C,a1,(C)->_feature_name,_eal);
- }
- int rT194is_static(T194 *C){
- int R=0;
- /*IF*/if (XrT58is_integer(XrT68result_type((C)->_target))) {
- /*IF*/if ((XrT68is_static((C)->_target))&&(XrT68is_static(rT194arg1(C)))) {
- R=1;
- /*IF*/if ((XrT68static_value((C)->_target))<(XrT68static_value(rT194arg1(C)))) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT194static_value(T194 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT194fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT194to_runnable_0(T194 *C,T0 * a1){
- T0 * _rc=NULL;
- T0 * _t=NULL;
- C->_current_type=a1;
- _t=XrT68to_runnable((C)->_target,a1);
- /*IF*/if (!(_t)) {
- rT194error(XrT68start_position((C)->_target),(T0 *)ms1119);
- }
- else {
- C->_target=_t;
- _rc=XrT58run_class(XrT68result_type((C)->_target));
- C->_run_feature=rT260get_rf((T260*)_rc,(C)->_target,(C)->_feature_name);
- C->_result_type=XrT261result_type((C)->_run_feature);
- /*IF*/if (!((C)->_result_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position((C)->_run_feature));
- rT194error(((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1131);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT194to_runnable(T194 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _a=NULL;
- /*IF*/if (!((C)->_current_type)) {
- rT194to_runnable_0(C,a1);
- _a=rT170to_runnable((T170*)(C)->_arguments,a1);
- /*IF*/if (!(_a)) {
- rT194error(XrT68start_position(rT194arg1(C)),(T0 *)ms1136);
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- rT170match_with((T170*)(C)->_arguments,(C)->_run_feature);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_like_argument((C)->_result_type))) {
- C->_result_type=XrT58run_type(XrT68result_type(rT194arg1(C)));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT194clone(C,(T0 *)C);
- /*(IRF3*/(((T194*)R)->_current_type)=(NULL);
- /*)*/R=rT194to_runnable((T194*)R,a1);
- }
- /*FI*/return R;
- }
-